<template>
  <view>
    <uni-swipe-action>
      <!-- 基础用法 -->
      <uni-swipe-action-item
        :right-options="options"
        :left-options="options"
        @click="onClick"
        @change="swipeChange"
      >
        <view>SwipeAction 基础使用场景</view>
      </uni-swipe-action-item>
      <!-- 使用插槽 （请自行给定插槽内容宽度）-->
      <uni-swipe-action-item>
        <template v-slot:left>
          <view><text>置顶</text></view>
        </template>
        <view>
          <text>使用插槽</text>
        </view>
        <template v-slot:right>
          <view><text>删除</text></view>
        </template>
      </uni-swipe-action-item>
      <!-- 混合用法 -->
      <uni-swipe-action-item :right-options="options">
        <template v-slot:left>
          <view><text>置顶</text></view>
        </template>
        <view><text>混合使用</text></view>
      </uni-swipe-action-item>
    </uni-swipe-action>

    <!-- 禁止滑动 -->
    <uni-swipe-action>
      <uni-swipe-action-item :disabled="true" :right-options="options">
        <view>SwipeAction 基础使用场景</view>
      </uni-swipe-action-item>
    </uni-swipe-action>

    <!-- 按组使用 -->
    <uni-swipe-action>
      <uni-swipe-action-item
        :right-options="options"
        @click="bindClick"
        @change="swipeChange($event, index)"
      >
        <view>item1</view>
      </uni-swipe-action-item>
      <uni-swipe-action-item
        :right-options="options"
        @click="bindClick"
        @change="swipeChange($event, index)"
      >
        <view>item2</view>
      </uni-swipe-action-item>
      <uni-swipe-action-item
        :right-options="options"
        @click="bindClick"
        @change="swipeChange($event, index)"
      >
        <view>item3</view>
      </uni-swipe-action-item>
    </uni-swipe-action>
  </view>
</template>

<script>
export default {
  data() {
    return {
      options: [
        {
          text: "取消",
          style: {
            backgroundColor: "#007aff",
          },
        },
        {
          text: "确认",
          style: {
            backgroundColor: "#dd524d",
          },
        },
      ],
    };
  },
  methods: {
    onClick(e) {
      console.log(
        "点击了" +
          (e.position === "left" ? "左侧" : "右侧") +
          e.content.text +
          "按钮"
      );
    },
    swipeChange(e, index) {
      console.log("当前状态：" + e + "，下标：" + index);
    },
  },
};
</script>


<style lang="scss">
page {
  height: 100%;
  overflow: hidden;
}
.viewport {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #f4f4f4;
  scroll-view {
    padding-top: 20rpx;
  }
}
.address {
  padding: 0 20rpx;
  margin: 0 20rpx;
  border-radius: 10rpx;
  background-color: #fff;
  .item {
    line-height: 1;
    padding: 40rpx 10rpx 38rpx;
    border-bottom: 1rpx solid #ddd;
    position: relative;
    .user {
      font-size: 28rpx;
      margin-bottom: 20rpx;
      color: #333;
      text {
        color: #666;
      }
      .badge {
        display: inline-block;
        padding: 4rpx 10rpx 2rpx 14rpx;
        margin: 2rpx 0 0 10rpx;
        font-size: 26rpx;
        color: #27ba9b;
        border-radius: 6rpx;
        border: 1rpx solid #27ba9b;
      }
    }
    .locate {
      line-height: 1.6;
      font-size: 26rpx;
      color: #333;
    }
    .edit {
      position: absolute;
      top: 36rpx;
      right: 30rpx;
      padding: 2rpx 0 2rpx 20rpx;
      border-left: 1rpx solid #666;
      font-size: 26rpx;
      color: #666;
      line-height: 1;
    }
  }
  .swipe-cell {
    &:last-child {
      .item {
        border: none;
      }
    }
  }
}
.swipe-cell-action {
  height: 100%;
  .delete-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 100%;
    font-size: 28rpx;
    color: #fff;
    border-radius: 0;
    padding: 0;
    background-color: #cf4444 !important;
  }
}
.add-btn {
  height: 80rpx;
  text-align: center;
  line-height: 80rpx;
  margin: 30rpx 20rpx;
  color: #fff;
  border-radius: 80rpx;
  font-size: 30rpx;
  background-color: #27ba9b;
}
.blank {
  margin-top: 300rpx;
  text-align: center;
  font-size: 32rpx;
  color: #888;
}
</style>